package com.sky.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

@Configuration
public class ThreadConfig {
    @Bean
    public ThreadPoolExecutor threadPoolExecutor(){ //Runtime.getRuntime().availableProcessors()*2
        ThreadPoolExecutor thread = new ThreadPoolExecutor(10, 20, 3, TimeUnit.SECONDS, new LinkedBlockingDeque<>(10),
                new ThreadPoolExecutor.AbortPolicy());
        return thread;
    }
}
